1. Technical Field
The present invention relates generally to the data processing field and, more particularly, to a method, apparatus and system for isolating input/output adapter error domains in a data processing system.
2. Description of Related Art
In a server environment, it is important to be able to isolate input/output adapters (IOAs) so that an IOA can only obtain access to the resources which are allocated to it. Isolating IOAs from one another is important to create a system that is robust from a reliability and availability standpoint, and is especially important in a logical partitioned (LPAR) data processing system, so that IOAs, or parts of IOAs, can be allocated on an individual basis to different LPAR partitions.
In particular, in an LPAR data processing system, multiple operating systems or multiple copies of a single operating system are run on a single data processing system platform. Each operating system or operating system copy executing within the data processing system is assigned to a different logical partition, and each partition is allocated a non-overlapping subset of the resources of the platform. Thus, each operating system or operating system copy directly controls a distinct set of allocatable resources within the platform.
Among the platform resources that may be allocated to different partitions in an LPAR data processing system include regions of system memory and IOAs or parts of IOAs. Thus, different regions of system memory and different IOAs or parts of IOAs may be assigned to different partitions of the system. In such an environment, it is important that the platform provide a mechanism to enable an error occurring as a result of an operation with an IOA to be isolated to the particular partition to which the IOA is assigned. For example, for peripheral component interconnect (PCI) busses, if one IOA activates the System Error (SERR) signal on the bus, it is indistinguishable as to which IOA activated the signal since it is a shared signal. In such a situation where the error is not isolated, the system hardware must ensure that all partitions see the same error; and this requirement is contrary to the definition and intent of logical partitioning.
One solution that addresses the PCI problem is to assign all IOAs under one PCI Host Bridge (PHB) to the same LPAR partition. However, doing so results in a granularity that is not very usable. Ideally, a user should be able to assign IOAs to different partitions regardless of which PHB the IOA falls under.
Currently, error isolation between IOAs is accomplished by using unique, specially designed bridge chips that are located externally of the PCI Host Bridge (PHB). These external bridge chips include Enhanced Error Handling (EEH) technology (see, for example, commonly assigned application entitled “ISOLATION OF I/O BUS ERRORS TO A SINGLE PARTITION IN AN LPAR ENVIRONMENT”, Ser. No. 09/589,664), which is effective in preventing errors generated by one IOA from affecting partitions other than the partition to which the IOA is assigned. Such unique bridge chips, however, are relatively expensive and preclude the use of less costly, industry standard bridges in the data processing system.
It would, accordingly, be advantageous to provide for isolation of input/output adapter error domains in a data processing system without requiring the use of expensive, unique bridge chips.